'use strict';

const Controller = require('egg').Controller;


class ChatController extends Controller {
  async chat() {
    const { ctx, app } = this;

    // 获取前端传来的参数
    const message = ctx.args[0];

    // 将评论的内容保存到数据库中
    await app.mysql.insert('comment', {
      content: message.content,
      userid: message.userid,
      username: message.username,
      userimg: message.userimg,
      articleId: message.articleId * 1,
    });

    // 当前文章的评论返回到页面中
    const data = await app.mysql.select('comment', {
      where: {
        articleId: message.articleId * 1,
      },
    });

    // console.log(ctx.socket.id);

    // 只会对自己广播
    // ctx.socket.emit('res', data);


    const socket = app.io.of('/io');
    // console.log(socket.sockets, '-----');


    // 对连接到该频道的所有用户广播
    // socket.sockets[ctx.socket.id].emit('comment', data);

    ctx.socket.broadcast.emit('comment', data);
  }
}

module.exports = ChatController;
